package com.afdor.rws.serialize;

import com.afdor.rws.annotation.extension.SPI;

/**
 * 数据序列化接口
 *
 * @author 悭梵
 * @date Created in 2018-08-03 17:42
 */
@SPI("jdk")
public interface Serialization<IN, OUT> {

    /**
     * 序列化类型
     *
     * @return
     */
    String getContentType();

    /**
     * 序列化对象
     *
     * @param data
     * @return
     */
    OUT serialize(IN data);

    /**
     * 返序列化对象
     *
     * @param data
     * @return
     */
    IN unserialize(OUT data);
}
